C code for PEGetNGroups, PEGetGroupCondition, and PESetGroupCondition

Following are examples of how to use the PEGetNGroups, PEGetGroupCondition, and PESetGroupCondition functions:

PEGetNGroups

short            nGroups;
    // Number of groups in report
nGroups = PEGetNGroups(Job);
if (nGroups < 0){
    // Handle error
}

PEGetGroupCondition

BOOL            result;
short        sectionCode;
    // Group header or group footer
HANDLE    conditionFieldHandle;
short        conditionFieldLength;
char        *conditionFieldString;
short        condition;
    // Will receive a PE_GC_ value

Note:    For a list of PE_GC_ values, see PESetGroupCondition.

    short        sortDirection;            
    // Will receive Ascending or Descending
sectionCode = PE_GROUPFOOTER;
    // Group footer section
result = PEGetGroupCondition(Job, sectionCode, &conditionFieldHandle, &conditionFieldLength, &condition, &sortDirection);
if (!result){
    // Handle error
}
    // Allocate buffer
conditionFieldString = (char*)malloc(conditionFieldLength);
result = PEGetHandleString(conditionFieldHandle, conditionFieldString, conditionFieldLength);
if (!result){
    // Handle error
}

PESetGroupCondition

BOOL            result;
short        sectionCode;
short        condition;
short        sortDirection;
char         conditionField [] = "{orders.DATE}";
sectionCode = PE_GROUPFOOTER;
condition = PE_GC_MONTHLY;
    // New group for every month
sortDirection = PE_SF_ASCENDING;
result = PESetGroupCondition(Job, sectionCode, conditionField, condition, sortDirection);
if (!result){
    // Handle error
}


Seagate Software IMG Holdings, Inc.
http://www.seagatesoftware.com
Support services:
http://support.seagatesoftware.com